1. Field of the Invention
The present invention relates to a two-dimensional code detector (2D-code detector) which detects a position and posture of a two-dimensional code (2D-code) provided on an object and also detects information encoded to the 2D-code and a program for this detector. Additionally, the present invention relates to a robot control information generator and a robot.
2. Description of Relevant Art
Conventionally, the recognition of a position and posture of an object by a robot etc. is performed by applying a known model to stereo information of the object that is formed from distance information in a three-dimensional space of the object. However, the estimation of the position and posture of the object has been realized in a limited environment, e.g. such that the object is in a known shape. In a complex scene, the recognition of a target object with speed and precision is difficult under a current computer capacity, and therefore has not been realized at present time.
Therefore, various techniques for assisting the recognition of a position and posture of an object are proposed and for example a system in which a barcode or a two-dimensional code (2D-code) is provided on an object to recognize the position and posture has been discovered in Japanese unexamined patent publication JP No. 2004-1153. In this system, an image pickup of the object, which is provided with the 2D-code and is placed on a table, is performed by an image pickup device. Next, vertices of the 2D-code are detected by analyzing an acquired image obtained by the image pickup. Then, the orientation (rotation) etc. of the object is detected based on the vertices.
In this system, furthermore, a grasp and transfer of the object by a robot is enabled by controlling the posture of the robot in accordance with the orientation of the object.
In this system, additionally, features such as a type, shape, size and etc. of the object can be recognized by decoding data which is encoded into the 2D-code, when the robot grasps the object.
In the system disclosed in Japanese unexamined patent publication JP No. 2004-1153, only an object orientation (rotation) on a two-dimensional plane (table) placed in a predetermined position can be detected as an object posture. That is, in this technique, the posture of an object installed in a three-dimensional space cannot be detected.
Moreover, in the technique described above, features of an object itself are encoded in the 2D-code and are utilized as information used when the robot grasps the object. But, in this case, the position of the object cannot recognize unless the 2D-code has been provided on the object at a certain position.
In the conventional system, therefore, the position on the object of the 2D-code has to be recorded beforehand for each object. Thus, the position of the 2D-code has to be recorded again when processing other object, and lacks in versatility.
Therefore, a two-dimensional code detector (2D-code detector), which can recognize a position and posture of an object in a three-dimensional space by detecting a two-dimensional code (2D-code) attached to the object and can generate control information to be required for an operation such as a grasp of the object in a three-dimensional space, and a program thereof have been required. Furthermore, a robot control information generator and a robot incorporated with a robot control information generator, which each can provide the same function of this detector, have been required.